一、假设的工艺设备
工艺设备包括一个油罐,一个进油控制阀门,一个出油控制阀门。

基本控制思想是:当储罐快满时,打开出油阀排空;当储罐快空时,打开进油阀注油。此过程循环往复。
二、SIMULATOR—PLC仿真程序
SIMULATOR是力控的PLC仿真程序,为了适应本例子的要求,内嵌了逻辑算法,并且对设备地址为“1”的AI第0通道、DI第0和1通道、DO第0通道作了如下约定:
PLC1的AI区域(模拟输入区)第0通道 对应油罐的液位
PLC1的DI区域(数字输入区)第0通道 控制油罐的进油控制阀门
PLC1的DI区域(数字输入区)第1通道 控制油罐的出油控制阀门
PLC1的DO区域(数字输出区)第0通道 启动/停止PLC程序的开关
当PLC1的DO区域第0通道置1(即模拟PLC启动),入口阀门打开,不断地向一个空的存储罐内注入某种液体;当存储罐的液位快满时,入口阀门自动关闭,出口阀门自动打开,将存储罐内的液体排放出去;存储罐的液位快空时,出口阀门自动关闭,入口阀门打开,如此反复。下面通过对此模拟设备监控画面的组建,对力控的画面组态过程有一个比较直观的了解。
工程要完成的目标
(1)创建一幅工艺流程图,图中包括一个油罐,一个进油控制阀门和出油控制阀门。
(2)阀门根据开关状态而变色,开时为红色,关时为绿色。
(3)创建实时数据库,并与SIMULATOR进行数据连接,完成一幅工艺流程图的动态数据及动态棒图显示。
(4)用两个按钮实现启动和停止,启动和停止PLC程序。
三、创建应用程序
1.启动力控应用管理器(ForceControl.EXE)。窗口列出了已创建的力控应用程序的名称和目录。当创建了新的应用程序后,应用程序名称和目录就显示在窗口里。

2. 单击“增加新应用”按钮,创建一个新的应用程序目录。
3. 在“应用名”输入框内输入要创建的力控应用程序的名称,不妨命名为“储罐液位监控示例”。在“路径”输入框内输入要创建的力控应用程序的目录名,或者单击 按钮来创建路径。zui后单击“确认”按钮返回力控应用管理器对话框。
4. 单击 按钮进入力控的开发环境。
四、创建流程图画面
输入流程图画面的标题名称:“储罐液位监控示例”。单击按钮“背景色”,选择其中的一种颜色作为窗口背景色。zui后单击“确认”按钮退出对话框。
现在,在屏幕上有了一个窗口,还应看见Draw的工具箱。
1、在窗口上画一个储罐。从工具箱中选择“选择子图”工具。出现“子图列表”对话框,从中选择一个罐。然后按“选择”按钮,则在画面的左上角出现一个罐。
2、放置入口阀门。选择工具箱中的“选择子图”工具,在“子图列表”对话框中选择符合要求的阀门子图。用相同的方法放置一个出口阀门。
3、选择工具箱中的“垂直/水平线”工具, 在画面上画两条管线。
修改两条管线的颜色、立体风格和宽度。先选中一条管线,单击鼠标右键, 在右键菜单中选择“对象属性”菜单项,出现“改变属性”对话框。选择立体风格,选择一种颜色。对另一条管线进行同样的修改。
4、选择工具箱中的“文本”工具,在画面上写两个显示液位的字符串:“液位值:”、“######.####”。其中“######.####”用来显示液位值,显示4位小数。
5、再画1个显示液位高度的矩形。
6、zui后,我们要画两个按钮来执行启动和停止PLC程序的命令。选择工具箱中的“按钮”工具 ,画一个按钮。把按钮挪到合适的位置并调整好它的大小。选中这个按钮,在文本框中输入“开始”,然后单击“确认”。用同样的方法继续画“停止”按钮。

现在,已经完成了“储罐液位监控示例系统”应用程序的图形描述部分的工作。下面还要做几件事。这就是定义I/O设备、创建数据库、制作动画连接。数据库是应用程序的核心,动画连接使图形“活动”起来,I/O驱动程序完成与硬件测控设备的数据通讯。
五、定义I/O设备
1. 在Draw导航器中双击“I/O设备驱动”项使其展开,在展开项目中选择“PLC”项并双击使其展开,然后继续选择厂商名“三维”并双击使其展开后,选择项目“SIMULATOR(仿真PLC程序)”。
2. 双击 “SIMULATOR(仿真PLC程序)”出现“I/O设备定义”对话框,在“设备名称”输入框内键入一个名称。为了便于记忆,我们输入“PLC1”(大小写都可以)。接下来要设置PLC的采集参数,即“数据更新周期”和“超时时间”。在“数据更新周期”输入框内键入1000毫秒。在“设备地址”输入PLC1设备的地址“1”。
3. 单击“完成”按钮返回,在“SIMULATOR(仿真PLC程序)”项目下面增加了一项“PLC1”。
通常情况下,一个I/O设备需要更多的配置,如:通讯端口的配置(波特率、奇偶校验等)、超时时间、所使用的网卡的开关设置等。因为这是一个“仿真”I/O驱动程序,它仿真“梯形图逻辑”和常用I/O驱动程序任务(实际上完全由PC完成),没有实际的与硬件的物理连接,所以不需要进行更多的配置。
六、数据库组态
数据库DB是整个应用系统的核心,构建分布式应用系统的基础。它负责整个力控应用系统的实时数据处理、历史数据存储、统计数据处理、报警信息处理、数据服务请求处理。
在数据库中,我们操纵的对象是点(TAG),每个点都包含若干参数。
我们引用点与参数的形式为“点名.参数名”。如“TAG1.DESC”表示点TAG1的点描述,“TAG1.PV”表示点TAG1的过程值。
DB提供的标准点类型有:模拟I/O点、数字I/O点、累计点、控制点、运算点等。
点定义过程:
1、定义一个模拟I/O点,这个点的PV参数表示存储罐的液位值,把这点的名称定为“LEVEL”。
2、定义一个数字I/O点,这个点的PV参数值的0和1,分别表示入口阀门的关闭状态及开启状态,我们将这个点的点名定为“IN_VALVE”。
3、定义一个反映出口阀门开关状态的数字I/O点,命名为“OUT_VALVE”。
4、定义一个数字I/O点,将其命名为“RUN”。用来控制整个模拟PLC系统的启动与停止
zui终的数据库点表是:
1 创建点
下面说明如何创建数据库点表中的4个点。
■ 在Draw导航器中双击“实时数据库”项使其展开,在展开项目中双击“数据库组态”启动组态程序DBMANAGER。
■ 单击菜单条的“点”选项选择新建或双击单元格,出现“请指定区域、点类型”向导对话框,选择“0”区域及“模拟I/O点”点类型,然后双击该点类型,出现下图所示的对话框,在“点名(NAME)”输入框内键入点名“LEVEL”。
其它参数如量程、报警参数等可以采用系统提供的缺省值。单击 “确定”按钮返回,在点名单元格中增加了一个点名“LEVEL”。
■ 按如上所述步骤,创建数字I/O点“IN_VALVE”“OUT_VALVE ”和“RUN”。
2 数据连接
由于数据库可以与多个I/O设备进行数据交换,所以我们必须指定哪些点与哪个I/O的哪个数据项设备建立数据连接。
■ 双击上图点LEVEL的单元格,选择“数据连接”选项或双击LEVEL所对的“%IOLINK[I/O连接]”单元格,都会出现如下图所示的对话框。
■ 单击增加按钮,出现SIMULATOR的数据连接对话框;
“内存区”选择“AI(模拟输入区)”,“通道号”指定为“0”,然后单击“确定”按钮,完成该点数据连接的定义,在点LEVEL的I/O连接单元格中列出了点LEVEL的数据连接项。
参照上述过程,再为三个数字I/O点建立数据连接,zui后这4个点的数据连接项组态结果如下图所示。
当完成数据连接的所有组态后,单击保存按钮并退出DBMANAGER窗口。
七、制作动画连接
现在我们回到开发环境Draw中,通过制作动画连接使图形在画面上随PLC1数据的变化而活动起来。
动画连接
■双击入口阀门对象,出现动画连接对话框。
■我们要让入口阀门根据一个状态值的变化来改变颜色。选用连接“颜色相关动作-条件”。单击“条件”按钮,弹出一个对话框。
单击“变量选择”按钮,出现“变量选择”对话框,在点名栏里选择“IN_VALVE”,在右边的参数列表中选择“PV”参数。
然后单击“选择”按钮,在“颜色变化”对话框的“条件表达式”的文本框中就可以看到变量名“IN_VALVE.PV”。
用同样的方法,我们再定义出口阀门的颜色变化条件及相关的变量。
■下面,我们来处理有关液位值的显示和液位变化的显示。首先来处理液位值的显示。选中存储罐下面的磅符号(###.###)后双击鼠标左键,出现动画连接对话框。
我们要让###.###符号在运行时显示液位值的变化。选用连接“数值输出-模拟”。单击“模拟”按钮, 弹出模拟输出对话框。
直接在“表达式”项内输入“LEVEL.PV”或者使用刚才的方法:单击“变量选择”按钮,出现“变量选择”对话框,然后选择点名“LEVEL”,在右边的参数列表中选择“PV”参数,然后单击“选择”按钮,“条件表达式”项中自动加入了变量名“LEVEL.PV”。
■现在,我们已经能够把存储罐的液位的数值显示出来了,我们还希望代表存储罐的矩形的填充高度也能随着液位值的变化而变化,这样就能更加形象地显示存储罐的液位变化了。
选中表示储罐液位的矩形后双击鼠标左键,出现下图所示的动画连接对话框。选用连接“百分比填充-垂直”。单击“垂直”按钮,弹出下图所示的对话框,在“表达式”项内键入“LEVEL.PV”。
■单击“确认”。
■下面我们定义两个按钮的动作来控制系统的启停。选中“开始”按钮后双击鼠标左键,出现动画连接对话框。
选择“触敏动作/左建动作”按钮。单击“左键动作”按钮,弹出脚本编辑器对话框选择“按下鼠标”事件,在脚本编辑器 里输入“RUN.PV = 1;”。
这个设置表示,当鼠标按下“开始”按钮后,变量RUN.PV的值被设成1,相应地PLC1中的程序被启动运行。
■用同样的方法,定义“停止”按钮的动作。在脚本编辑器里输入“RUN.PV = 0;”这个设置表示,当鼠标按下“停止”按钮后,变量RUN.PV的值被设成0。PLC1中的程序就会停止运行。
在上面整个制作动画连接的过程中,系统自动创建了所有引用到的数据库变量。
八、运行示例程序
保存所有组态内容,然后关闭所有力控程序,包括:Draw、DBManager等,然后再次启动力控应用管理器。
■选择应用程序“储罐液位监控示例”,然后单击“进入运行”按钮启动整个运行系统,单击“开始”按钮,开始运行PLC1中的程序。这时会看到阀门打开,存储罐液位开始上升,一旦存储罐即将被注满,它会自动排放,然后重复以上过程。可以在任何时候单击“停止”按钮来中止这个过程。
现在,我们已经成功地完成了一个力控应用程序。
当然,这个简单的应用还有许多地方有待完善和扩展。比如:可以将存储罐的液位变量保存历史数据,并将历史数据用趋势显示出来;还可以为存储罐的液位加入报警监视信息等等。还可以单击“停止”按钮中止PLC1程序后手动地控制进料阀和出料阀的开、闭,这时需要增加两个数字量输出点IN_VALVE_OP.PV和OUT_VALVE_OP.PV,分别控制这两个阀,当值为1时开阀,值为0时关阀。注意反映阀当前状态的输入变量IN_VALVE.PV和OUT_VALVE.PV是阀的回讯信号,不要与控制阀状态的输出变量IN_VALVE_OP.PV和OUT_VALVE_OP.PV混淆。
九、简要总结
通过上面简单的实例,我们已经比较直观地了解了力控组态画面的简单制作过程:
创建应用程序、绘制监控画面、定义I/O设备、数据库组态、制作动画连接。